class_name ChartData

enum Chart {
	THE_COMEBACK = 0,
	SYNC_TEST = 1,
}

const THE_COMEBACK_DATA: Array[Array] = [
	[1,0,0,0, 0,0,0,0, 1,0,0,1, 0,0,1,0],
	[0,0,0,0, 0,0,0,0, 1,0,0,1, 0,0,1,0],
	[0,0,0,0, 0,0,0,0, 1,0,0,1, 0,0,1,0],
	[0,0,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,0],

	[0,0,1,0, 0,0,1,1, 0,0,0,1, 0,0,1,1],
	[0,0,0,0, 0,0,1,0, 1,1,0,1, 0,1,0,1],
	[0,1,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,1,0, 0,1,0,0, 1,0,0,1, 0,0,1,0],

	[0,0,1,0, 0,0,1,1, 0,0,0,1, 0,0,1,1],
	[0,0,0,0, 0,0,1,0, 1,1,0,1, 0,1,0,1],
	[0,1,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,1,0, 0,1,0,0, 1,0,0,1, 0,0,1,0],

	[0,0,1,0, 0,0,1,1, 0,0,0,1, 0,0,1,1],
	[0,0,0,0, 0,0,1,0, 1,1,0,1, 0,1,0,1],
	[0,1,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,1,0, 0,1,0,0, 1,0,0,1, 0,0,1,0],

	[0,0,1,0, 0,0,1,1, 0,0,0,1, 0,0,1,1],
	[0,0,0,0, 0,0,1,0, 1,1,0,1, 0,1,0,1],
	[0,1,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,1,0, 0,1,0,0, 1,0,1,0, 1,0,1,0],

	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0],
	[1,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],
	[0,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],

	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0],
	[1,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],
	[0,0,1,0, 1,0,1,0, 0,0,0,0, 1,0,1,0],

	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0],
	[1,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],
	[0,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],

	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,1, 0,0,0,1, 0,0,0,0, 0,0,0,0],
	[1,0,1,0, 0,0,1,0, 0,0,1,0, 0,0,1,0],
	[0,0,1,0, 1,0,1,0, 0,0,0,0, 0,0,1,1],

	[1,0,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,0, 0,0,0,0, 0,0,0,0, 1,0,1,0],
	[0,0,0,0, 0,0,1,0, 0,0,0,0, 0,0,1,1],

	[1,0,1,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
	[0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,1,1],
	[1,0,1,0, 0,0,0,0, 0,0,0,0, 1,0,1,0],
	[0,0,0,0, 0,0,1,0, 0,0,0,0, 0,0,0,0],

	[1,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0],
]

const SYNC_TEST_DATA: Array[Array] = [
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],
	[1,1,1,1],

	[1,0,0,0],
]


static func get_chart_data(chart: Chart) -> Array[Array]:
	match chart:
		ChartData.Chart.THE_COMEBACK:
			return ChartData.THE_COMEBACK_DATA
		ChartData.Chart.SYNC_TEST:
			return ChartData.SYNC_TEST_DATA
		_:
			assert(false, "Unknown chart: %d" % chart)
			return ChartData.THE_COMEBACK_DATA
